package cn.com.victorysoft.economic.domain;

import cn.com.victorysoft.ylgl.service.commons.domain.BaseEntity;
import cn.com.victorysoft.ylgl.service.commons.json.DateToISODateTimeSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

public class EconomicEvaluation extends BaseEntity {
    private String wellId;

    private String wellPurpose;

    private String fractureCraft;

    private String fragment;

    private BigDecimal plannedFluidDispl;

    private BigDecimal plannedSandVol;

    @DateTimeFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date completionDate;

    private String contentOfMeasure;

    private String completionMode;

    private BigDecimal fractureRelocationFee;

    private BigDecimal fracturePreparationFee;

    private BigDecimal fractureConstructionCosts;

    private BigDecimal fractureToolFee;

    private BigDecimal fractureFinalFee;

    private BigDecimal testFee;

    private BigDecimal perforationgFee;

    private BigDecimal killFluidCosts;

    private BigDecimal microbubbleCosts;

    private BigDecimal liquidDispensingFee;

    private BigDecimal fracturingFluidDeliveryFee;

    private BigDecimal chemicalMaterialsFee;

    private BigDecimal proppantFee;

    private BigDecimal sandWashingSandControlTool;

    private BigDecimal sprayingToolFee;

    private BigDecimal perforatingMaterialFee;

    private BigDecimal completionMaterialFee;

    private BigDecimal generalOperatingExpenses;

    private BigDecimal perforatingOperationFee;

    private BigDecimal fillSandControlProcessFee;

    private BigDecimal fracturingProcessFee;

    private BigDecimal downPumpOperationgFee;

    private BigDecimal sewageRechargeFee;

    private BigDecimal coiledTubingCosts;

    private BigDecimal rodDeliveryFee;

    private BigDecimal tubingAmortization;

    private BigDecimal toolAmortization;

    private BigDecimal wellheadAmortization;

    private BigDecimal wellRetainingMaterialCosts;

    private BigDecimal nitrogen;

    private BigDecimal crossingFee;

    private BigDecimal inTotal;

    private BigDecimal investmentPlan;

    private BigDecimal completionRatio;

    public String getWellId() {
        return wellId;
    }

    public void setWellId(String wellId) {
        this.wellId = wellId == null ? null : wellId.trim();
    }

    public String getWellPurpose() {
        return wellPurpose;
    }

    public void setWellPurpose(String wellPurpose) {
        this.wellPurpose = wellPurpose;
    }

    public String getFractureCraft() {
        return fractureCraft;
    }

    public void setFractureCraft(String fractureCraft) {
        this.fractureCraft = fractureCraft;
    }

    public String getFragment() {
        return fragment;
    }

    public void setFragment(String fragment) {
        this.fragment = fragment == null ? null : fragment.trim();
    }

    public BigDecimal getPlannedFluidDispl() {
        return plannedFluidDispl;
    }

    public void setPlannedFluidDispl(BigDecimal plannedFluidDispl) {
        this.plannedFluidDispl = plannedFluidDispl;
    }

    public BigDecimal getPlannedSandVol() {
        return plannedSandVol;
    }

    public void setPlannedSandVol(BigDecimal plannedSandVol) {
        this.plannedSandVol = plannedSandVol;
    }

    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd")
    public Date getCompletionDate() {
        return completionDate;
    }

    @JsonSerialize(using = DateToISODateTimeSerializer.class)
    public void setCompletionDate(Date completionDate) {
        this.completionDate = completionDate;
    }

    public String getContentOfMeasure() {
        return contentOfMeasure;
    }

    public void setContentOfMeasure(String contentOfMeasure) {
        this.contentOfMeasure = contentOfMeasure;
    }

    public String getCompletionMode() {
        return completionMode;
    }

    public void setCompletionMode(String completionMode) {
        this.completionMode = completionMode;
    }

    public BigDecimal getFractureRelocationFee() {
        return fractureRelocationFee;
    }

    public void setFractureRelocationFee(BigDecimal fractureRelocationFee) {
        this.fractureRelocationFee = fractureRelocationFee;
    }

    public BigDecimal getFracturePreparationFee() {
        return fracturePreparationFee;
    }

    public void setFracturePreparationFee(BigDecimal fracturePreparationFee) {
        this.fracturePreparationFee = fracturePreparationFee;
    }

    public BigDecimal getFractureConstructionCosts() {
        return fractureConstructionCosts;
    }

    public void setFractureConstructionCosts(BigDecimal fractureConstructionCosts) {
        this.fractureConstructionCosts = fractureConstructionCosts;
    }

    public BigDecimal getFractureToolFee() {
        return fractureToolFee;
    }

    public void setFractureToolFee(BigDecimal fractureToolFee) {
        this.fractureToolFee = fractureToolFee;
    }

    public BigDecimal getFractureFinalFee() {
        return fractureFinalFee;
    }

    public void setFractureFinalFee(BigDecimal fractureFinalFee) {
        this.fractureFinalFee = fractureFinalFee;
    }

    public BigDecimal getTestFee() {
        return testFee;
    }

    public void setTestFee(BigDecimal testFee) {
        this.testFee = testFee;
    }

    public BigDecimal getPerforationgFee() {
        return perforationgFee;
    }

    public void setPerforationgFee(BigDecimal perforationgFee) {
        this.perforationgFee = perforationgFee;
    }

    public BigDecimal getKillFluidCosts() {
        return killFluidCosts;
    }

    public void setKillFluidCosts(BigDecimal killFluidCosts) {
        this.killFluidCosts = killFluidCosts;
    }

    public BigDecimal getMicrobubbleCosts() {
        return microbubbleCosts;
    }

    public void setMicrobubbleCosts(BigDecimal microbubbleCosts) {
        this.microbubbleCosts = microbubbleCosts;
    }

    public BigDecimal getLiquidDispensingFee() {
        return liquidDispensingFee;
    }

    public void setLiquidDispensingFee(BigDecimal liquidDispensingFee) {
        this.liquidDispensingFee = liquidDispensingFee;
    }

    public BigDecimal getFracturingFluidDeliveryFee() {
        return fracturingFluidDeliveryFee;
    }

    public void setFracturingFluidDeliveryFee(BigDecimal fracturingFluidDeliveryFee) {
        this.fracturingFluidDeliveryFee = fracturingFluidDeliveryFee;
    }

    public BigDecimal getChemicalMaterialsFee() {
        return chemicalMaterialsFee;
    }

    public void setChemicalMaterialsFee(BigDecimal chemicalMaterialsFee) {
        this.chemicalMaterialsFee = chemicalMaterialsFee;
    }

    public BigDecimal getProppantFee() {
        return proppantFee;
    }

    public void setProppantFee(BigDecimal proppantFee) {
        this.proppantFee = proppantFee;
    }

    public BigDecimal getSandWashingSandControlTool() {
        return sandWashingSandControlTool;
    }

    public void setSandWashingSandControlTool(BigDecimal sandWashingSandControlTool) {
        this.sandWashingSandControlTool = sandWashingSandControlTool;
    }

    public BigDecimal getSprayingToolFee() {
        return sprayingToolFee;
    }

    public void setSprayingToolFee(BigDecimal sprayingToolFee) {
        this.sprayingToolFee = sprayingToolFee;
    }

    public BigDecimal getPerforatingMaterialFee() {
        return perforatingMaterialFee;
    }

    public void setPerforatingMaterialFee(BigDecimal perforatingMaterialFee) {
        this.perforatingMaterialFee = perforatingMaterialFee;
    }

    public BigDecimal getCompletionMaterialFee() {
        return completionMaterialFee;
    }

    public void setCompletionMaterialFee(BigDecimal completionMaterialFee) {
        this.completionMaterialFee = completionMaterialFee;
    }

    public BigDecimal getGeneralOperatingExpenses() {
        return generalOperatingExpenses;
    }

    public void setGeneralOperatingExpenses(BigDecimal generalOperatingExpenses) {
        this.generalOperatingExpenses = generalOperatingExpenses;
    }

    public BigDecimal getPerforatingOperationFee() {
        return perforatingOperationFee;
    }

    public void setPerforatingOperationFee(BigDecimal perforatingOperationFee) {
        this.perforatingOperationFee = perforatingOperationFee;
    }

    public BigDecimal getFillSandControlProcessFee() {
        return fillSandControlProcessFee;
    }

    public void setFillSandControlProcessFee(BigDecimal fillSandControlProcessFee) {
        this.fillSandControlProcessFee = fillSandControlProcessFee;
    }

    public BigDecimal getFracturingProcessFee() {
        return fracturingProcessFee;
    }

    public void setFracturingProcessFee(BigDecimal fracturingProcessFee) {
        this.fracturingProcessFee = fracturingProcessFee;
    }

    public BigDecimal getDownPumpOperationgFee() {
        return downPumpOperationgFee;
    }

    public void setDownPumpOperationgFee(BigDecimal downPumpOperationgFee) {
        this.downPumpOperationgFee = downPumpOperationgFee;
    }

    public BigDecimal getSewageRechargeFee() {
        return sewageRechargeFee;
    }

    public void setSewageRechargeFee(BigDecimal sewageRechargeFee) {
        this.sewageRechargeFee = sewageRechargeFee;
    }

    public BigDecimal getCoiledTubingCosts() {
        return coiledTubingCosts;
    }

    public void setCoiledTubingCosts(BigDecimal coiledTubingCosts) {
        this.coiledTubingCosts = coiledTubingCosts;
    }

    public BigDecimal getRodDeliveryFee() {
        return rodDeliveryFee;
    }

    public void setRodDeliveryFee(BigDecimal rodDeliveryFee) {
        this.rodDeliveryFee = rodDeliveryFee;
    }

    public BigDecimal getTubingAmortization() {
        return tubingAmortization;
    }

    public void setTubingAmortization(BigDecimal tubingAmortization) {
        this.tubingAmortization = tubingAmortization;
    }

    public BigDecimal getToolAmortization() {
        return toolAmortization;
    }

    public void setToolAmortization(BigDecimal toolAmortization) {
        this.toolAmortization = toolAmortization;
    }

    public BigDecimal getWellheadAmortization() {
        return wellheadAmortization;
    }

    public void setWellheadAmortization(BigDecimal wellheadAmortization) {
        this.wellheadAmortization = wellheadAmortization;
    }

    public BigDecimal getWellRetainingMaterialCosts() {
        return wellRetainingMaterialCosts;
    }

    public void setWellRetainingMaterialCosts(BigDecimal wellRetainingMaterialCosts) {
        this.wellRetainingMaterialCosts = wellRetainingMaterialCosts;
    }

    public BigDecimal getNitrogen() {
        return nitrogen;
    }

    public void setNitrogen(BigDecimal nitrogen) {
        this.nitrogen = nitrogen;
    }

    public BigDecimal getCrossingFee() {
        return crossingFee;
    }

    public void setCrossingFee(BigDecimal crossingFee) {
        this.crossingFee = crossingFee;
    }

    public BigDecimal getInTotal() {
        return inTotal;
    }

    public void setInTotal(BigDecimal inTotal) {
        this.inTotal = inTotal;
    }

    public BigDecimal getInvestmentPlan() {
        return investmentPlan;
    }

    public void setInvestmentPlan(BigDecimal investmentPlan) {
        this.investmentPlan = investmentPlan;
    }

    public BigDecimal getCompletionRatio() {
        return completionRatio;
    }

    public void setCompletionRatio(BigDecimal completionRatio) {
        this.completionRatio = completionRatio;
    }

}